package com.zcsy.manage.persistence.base;

import java.util.List;
import java.util.Map;

import com.zcsy.manage.model.base.CellRegion;

/**
 * 
 * @Title: CellRegionDao.java
 * @Package： com.zcsy.manage.persistence.base 
 * @Description: 小区区域管理Dao层
 *
 * @author lilan 1063972142@qq.com
 * @Copyright: 2015 武汉恒数利通信息技术有限公司 All rights reserved.
 * @date 2016年4月6日
 * @version 1.0
 * @see JDK1.7.0_75
 * @since
 */
public interface CellRegionDao {
	
	/**
	 * 
	 * @Description 插入小区区域
	 * 
	 * @param cellRegion 小区区域对象
	 * @return 
	 * @author lilan 1063972142@qq.com
	 * @date 2016年4月6日
	 * @see
	 */
	int insert(CellRegion cellRegion);
	
	/**
	 * 
	 * @Description 更新小区区域
	 * 
	 * @param cellRegion 小区区域对象
	 * @return 
	 * @author lilan 1063972142@qq.com
	 * @date 2016年4月6日
	 * @see
	 */
	int update(CellRegion cellRegion);
	
	/**
	 * 
	 * @Description 根据主键删除小区区域
	 * 
	 * @param id 主键id
	 * @return 
	 * @author lilan 1063972142@qq.com
	 * @date 2016年4月6日
	 * @see
	 */
	int deleteByPrimaryKey(String id);
	
	/**
	 * 
	 * @Description 根据主键id获取小区区域详情
	 * 
	 * @param id 主键id
	 * @return 
	 * @author lilan 1063972142@qq.com
	 * @date 2016年4月6日
	 * @see
	 */
	CellRegion selectByPrimaryKey(String id);
	
	/**
	 * 
	 * @Description 根据关键字获取小区区域列表
	 * 
	 * @param cellRegion 小区区域对象
	 * @return 
	 * @author lilan 1063972142@qq.com
	 * @date 2016年4月6日
	 * @see
	 */
	List<CellRegion> selectByKeyword(CellRegion cellRegion);
	
	/**
	 * 
	 * @Description 获取所有小区区域信息
	 * 
	 * @return 
	 * @author lilan 1063972142@qq.com
	 * @date 2016年4月7日
	 * @see
	 */
	List<CellRegion> getAllCellRegion();
	
	/**
	 * @Description 取当前cellId的所有区域子集<br>
	 * 
	 * @param cellId 小区id
	 * @return 
	 * @author caiyl 13277030520@163.com
	 * @date 2016年4月7日
	 * @see 
	 */
	List<CellRegion> getCellRegionByCellId(String cellId);

	/**
	 * @Description 根据对应的id修改对应的name,已保持同步<br>
	 * 
	 * @param id 小区id
	 * @param name 小区名称
	 * @return 
	 * @author caiyl 13277030520@163.com
	 * @date 2016年4月11日
	 * @see 
	 */
	int updateById(Map<String, Object> map);
	
	/**
     * 
     * @Description 根据关键字获取小区区域(导入模板用)
     * 
     * @param cellRegion 小区区域对象
     * @return 
     * @author lilan 1063972142@qq.com
     * @date 2016年4月6日
     * @see
     */
	List<CellRegion> selectForImport(CellRegion cellRegion);
	
	
	/**
	 * @Description 根据排序增加置顶功能<br>
	 * 
	 * @param record 当前小区对象
	 * @return 1：成功 0：失败
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年6月3日
	 * @see 
	 */
	int updateSort(CellRegion record);
	
	/**
     * 查询小区下区域名称是否存在
     * @Method: isNameExists
     * @param regionId 区域id
     * @param cellId 小区id
     * @param name 区域名称
     * @author hubing
     */
    boolean isNameExists(String regionId, String cellId, String name);
}
